package com.mycar2w.cloud.entity;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * created time 2017/4/1
 *
 * @author ljc
 * @version V1.0
 * 汽车内部配置
 */
@Entity
@Table(name = "car_inner_configutation", schema = "mycar2wnew", catalog = "")
public class CarInnerConfigutation {
    private Long id;
    private String multifunctionSteeringWheel;
    private String cruiseControl;
    private String airConditioner;
    private String automaticAirConditioning;
    private String gps;
    private String parkingDistanceControl;
    private String rearCameraParkingAid;
    private String leatherSeat;
    private String frontAndRearSeatHeating;
    private Long carId;

    @Id
    @Column(name = "id", nullable = false)
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Basic
    @Column(name = "multifunction_steering_wheel", nullable = true, length = 50)
    public String getMultifunctionSteeringWheel() {
        return multifunctionSteeringWheel;
    }

    public void setMultifunctionSteeringWheel(String multifunctionSteeringWheel) {
        this.multifunctionSteeringWheel = multifunctionSteeringWheel;
    }

    @Basic
    @Column(name = "cruise_control", nullable = true, length = 50)
    public String getCruiseControl() {
        return cruiseControl;
    }

    public void setCruiseControl(String cruiseControl) {
        this.cruiseControl = cruiseControl;
    }

    @Basic
    @Column(name = "air_conditioner", nullable = true, length = 50)
    public String getAirConditioner() {
        return airConditioner;
    }

    public void setAirConditioner(String airConditioner) {
        this.airConditioner = airConditioner;
    }

    @Basic
    @Column(name = "automatic_air_conditioning", nullable = true, length = 50)
    public String getAutomaticAirConditioning() {
        return automaticAirConditioning;
    }

    public void setAutomaticAirConditioning(String automaticAirConditioning) {
        this.automaticAirConditioning = automaticAirConditioning;
    }

    @Basic
    @Column(name = "gps", nullable = true, length = 50)
    public String getGps() {
        return gps;
    }

    public void setGps(String gps) {
        this.gps = gps;
    }

    @Basic
    @Column(name = "parking_distance_control", nullable = true, length = 50)
    public String getParkingDistanceControl() {
        return parkingDistanceControl;
    }

    public void setParkingDistanceControl(String parkingDistanceControl) {
        this.parkingDistanceControl = parkingDistanceControl;
    }

    @Basic
    @Column(name = "rear_camera_parking_aid", nullable = true, length = 50)
    public String getRearCameraParkingAid() {
        return rearCameraParkingAid;
    }

    public void setRearCameraParkingAid(String rearCameraParkingAid) {
        this.rearCameraParkingAid = rearCameraParkingAid;
    }

    @Basic
    @Column(name = "leather_seat", nullable = true, length = 50)
    public String getLeatherSeat() {
        return leatherSeat;
    }

    public void setLeatherSeat(String leatherSeat) {
        this.leatherSeat = leatherSeat;
    }

    @Basic
    @Column(name = "front_and_rear_seat_heating", nullable = true, length = 50)
    public String getFrontAndRearSeatHeating() {
        return frontAndRearSeatHeating;
    }

    public void setFrontAndRearSeatHeating(String frontAndRearSeatHeating) {
        this.frontAndRearSeatHeating = frontAndRearSeatHeating;
    }

    @Basic
    @Column(name = "car_id", nullable = true)
    public Long getCarId() {
        return carId;
    }

    public void setCarId(Long carId) {
        this.carId = carId;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        CarInnerConfigutation that = (CarInnerConfigutation) o;

        if (id != null ? !id.equals(that.id) : that.id != null) return false;
        if (multifunctionSteeringWheel != null ? !multifunctionSteeringWheel.equals(that.multifunctionSteeringWheel) : that.multifunctionSteeringWheel != null)
            return false;
        if (cruiseControl != null ? !cruiseControl.equals(that.cruiseControl) : that.cruiseControl != null)
            return false;
        if (airConditioner != null ? !airConditioner.equals(that.airConditioner) : that.airConditioner != null)
            return false;
        if (automaticAirConditioning != null ? !automaticAirConditioning.equals(that.automaticAirConditioning) : that.automaticAirConditioning != null)
            return false;
        if (gps != null ? !gps.equals(that.gps) : that.gps != null) return false;
        if (parkingDistanceControl != null ? !parkingDistanceControl.equals(that.parkingDistanceControl) : that.parkingDistanceControl != null)
            return false;
        if (rearCameraParkingAid != null ? !rearCameraParkingAid.equals(that.rearCameraParkingAid) : that.rearCameraParkingAid != null)
            return false;
        if (leatherSeat != null ? !leatherSeat.equals(that.leatherSeat) : that.leatherSeat != null) return false;
        if (frontAndRearSeatHeating != null ? !frontAndRearSeatHeating.equals(that.frontAndRearSeatHeating) : that.frontAndRearSeatHeating != null)
            return false;
        if (carId != null ? !carId.equals(that.carId) : that.carId != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = id != null ? id.hashCode() : 0;
        result = 31 * result + (multifunctionSteeringWheel != null ? multifunctionSteeringWheel.hashCode() : 0);
        result = 31 * result + (cruiseControl != null ? cruiseControl.hashCode() : 0);
        result = 31 * result + (airConditioner != null ? airConditioner.hashCode() : 0);
        result = 31 * result + (automaticAirConditioning != null ? automaticAirConditioning.hashCode() : 0);
        result = 31 * result + (gps != null ? gps.hashCode() : 0);
        result = 31 * result + (parkingDistanceControl != null ? parkingDistanceControl.hashCode() : 0);
        result = 31 * result + (rearCameraParkingAid != null ? rearCameraParkingAid.hashCode() : 0);
        result = 31 * result + (leatherSeat != null ? leatherSeat.hashCode() : 0);
        result = 31 * result + (frontAndRearSeatHeating != null ? frontAndRearSeatHeating.hashCode() : 0);
        result = 31 * result + (carId != null ? carId.hashCode() : 0);
        return result;
    }
}
